home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 143 (1990-08-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 143 (1990-08-15)(Ossowski, Stefan)(DE)(PD).adf / Berserker / Berserker.doc < prev    next >
Text File  |  1990-07-19  |  13KB  |  301 lines

  1. **************************************************************************
  2. *
  3. *                         B E R S E R K E R  IV.a
  4. *                         -----------------------
  5. *
  6. *                 © Copyright 1988, 1989, 1990 by Ralf Thanner
  7. *
  8. * This code is entirely written in assembler for the Kuma Seka assembler
  9. *
  10. *    Executable program and source code are both in the PUBLIC-DOMAIN!
  11. *
  12. *  A small copy fee for Berserker is okay, but anything which looks like
  13. *        commercial redistribution is forbidden (remember that!).
  14. *
  15. **************************************************************************
  16. *
  17. *    REVISION HISTORY:
  18. *    =================
  19. *
  20. *  R    V1.0    - Just a primitive SCA finder and killer.
  21. *
  22. *  R    V1.c    - Added Byte Bandit & Byte Warrior killer.
  23. *        - Improved SCA & SCA mutants killer routine.
  24. *          -> OBELISK, AEK, LSD, PENTAGON, BAMIGA SECTOR ONE,
  25. *             WARHWAK, MICROMASTER & NORTHSTAR...
  26. *
  27. *  R    V2.b    - Now also finds the Exterminator (LAMER).
  28. *
  29. *  R    V2.d    - Now finds the first link virus (IRQ TEAM 41).
  30. *
  31. *    V2.e    - Added alert box. Idea by Olaf Barthel.
  32. *        - Some cleanups and bug-fixes done.
  33. *
  34. *  R    V2.e+    - Doesn't refuse to work with Kick 1.3 any more.
  35. *        - Added custom bootblock writer.
  36. *        - Added kill cold-cool vectors;
  37. *          There are just too many SCA clones on the market
  38. *          and it is saver to clear these pointers
  39. *
  40. *  R    V3.0    - Now also finds the BSG 9 link virus.
  41. *        - Second (and final?) code cleanup for public
  42. *          release (YEAH!!!).
  43. *        - Removed the custom bootblock writer, too many guys
  44. *          thought Berserker to be some kind of virus in
  45. *          disguise.
  46. *
  47. *  R    V3.0+    - Extended to find Gaddafi and Disk-Doctor viruses.
  48. *
  49. *    V3.1    - Extended to find the REVENGE BOOTLOADER virus.
  50. *          -> THIS IS A NEW ONE!!!
  51. *        - Bug-fix in EXTERMINATOR routine done.
  52. *          -> should now find ALL lamer versions....
  53. *        - Code cleanup (added some sub-routines).
  54. *
  55. *    V3.2    - Extended to find REVENGE (is an old one, but some
  56. *          nice guys told me, that berserker should also find
  57. *          the old ones....and because BERSERKER crashed when
  58. *          memory was infiltrated by REVENGE )
  59. *
  60. *    V3.2b   - Shortening, speeding up & cleaning the code
  61. *          ( and berserker still works.... )
  62. *
  63. *  R    V3.39c+ - JOKE....
  64. *
  65. *    V3.5    - Added Xeno 'killer' routine by STEVE TIBBET.
  66. *
  67. *    V4.0    - Added a more userfriendly Cli-Interface and the
  68. *          possibility to start BERSERKER from workbench.
  69. *
  70. *  R    V4.0a    - WHAAA, what a pity: forgot to reply message..
  71. *          Bug now fixed... Thanks to olaf for this hint.
  72. *        - Shortened and improved code again.
  73. *
  74. *  R = released version
  75. **************************************************************************
  76.  
  77.                        WHAT DOES BERSERKER IV DO?
  78.                        ==========================
  79.  
  80. Berserker is a viruskiller which was designed as a CLI-command. It works
  81. with Kick 1.2, Kick 1.3, 512K and expansion RAM.
  82.  
  83. Because  of  the  big  number  of  link  viruses  on the Amiga, I recommend
  84. inserting the Berserker call as the third command in your startup-sequence.
  85.  
  86. You can start  BERSERKER IV  either from CLI or from  Workbench.
  87.  
  88. WORKBENCH:
  89. ----------
  90.  
  91. Berserker opens a window and waits for your choice.
  92.  
  93. You can choose between:     '?' - short instructions.
  94.              'C' - for checking your memory.
  95.              'Q' - for quiting.
  96.  
  97. CLI:
  98. ----
  99.  
  100. Berserker offers you only one single option:
  101.  
  102.              'berserker ?' - longer instructions.
  103.  
  104. If  you  start  BERSERKER IV  without  any command it will start  searching
  105. through  memory in order to  kill these  little bastards.
  106.  
  107. If  Berserker  finds  a  virus  a  Recoverable  Alert appears, just click a
  108. mousebutton  to  continue  (this  was added due to the possibility that the
  109. Berserker  banner  message  might  have been redirected, the chance to know
  110. about a virus in the system won't be wasted this way).
  111.  
  112.  
  113.                     WHICH VIRUSES DOES BERSERKER KNOW?
  114.                     ==================================
  115.  
  116. 1.  SCA and all its mutant brothers and sisters
  117.     -------------------------------------------
  118.     This means AEK, LSD, WARHAWK, OBELISK, PENTAGON, BAMIGA SECTOR ONE....
  119.  
  120. 2.  Byte Bandit
  121.     -----------
  122.     No need for further discussion (or what do you think?).
  123.  
  124. 3.  Byte Warrior (DASA0.2)
  125.     ----------------------
  126.     Was  the  first virus with coded text, so you couldn't recognize it on
  127.     the bootblock.
  128.  
  129. 4.  The Exterminator (LAMER!)    ALL VERSIONS / CODED OR NOT
  130.     --------------------------------------------------------
  131.     This  one  fills  the  tracks  of  a  disk  with 'LAMER!LAMER!LAMER!'.
  132.     Exterminator  is  very  tricky, if you try to examine the bootblock it
  133.     will always look like a normal one. The new  version should  find  all
  134.     versions of the LAMER-EXTERMINATOR.
  135.  
  136. 5.  The IRQ-Virus
  137.     -------------
  138.     This  one  is  a  link  virus.  It looks for the second program in the
  139.     startup-sequence and tries to infect it.  If this fails it will try to
  140.     link itself to the DIR command.  WARNING!!!  Sometimes it also infects
  141.     other programs.
  142.  
  143.     If a disk is write-protected the IRQ-virus always brings up a standard
  144.     DOS Autorequester like this:
  145.  
  146.    +System Request ==================##|##+
  147.    |                                      |
  148.    | Volume                               |
  149.    | - Disk name -                        |
  150.    | is write protected                   |
  151.    |                                      |
  152.    | +-----+                     +------+ |
  153.    | |RETRY|                     |CANCEL| |
  154.    | +-----+                     +------+ |
  155.    +--------------------------------------*
  156.  
  157.     Hint  for programmers:  the IRQ-virus' vector is OLDOPENLIBRARY(-408),
  158.     therefore  always  use  OPENLIBRARY(-552).  Unfortunately the standard
  159.     Aztec  'C'  3.2a  -  3.6a  crt0.a68  startup  code  makes  a  call  to
  160.     OldOpenLibrary()  to  get  access  to the dos.library.  Time for a bug
  161.     fix, Manx?
  162.  
  163. 6.  The BSG 9-Virus
  164.     ---------------
  165.     This  one  is  a  link  virus.   It looks for the first program in the
  166.     startup-sequence  and  tries to infect it.  It saves the modified file
  167.     in the DEVS directory with spaces instead of a name.  The virus itself
  168.     is  about  2608  bytes  long  and  becomes  visible after four or five
  169.     resets; the screen turns black and a message appears:
  170.  
  171.               "      A COMPUTER VIRUS IS A DISEASE     "
  172.               "       TERRORISM IS A TRANSGRESSION     "
  173.               "        SOFTWARE PIRACY IS A CRIME      "
  174.               "             THIS IS THE CURE           "
  175.               "   BSG 9  BUNDESGRENZSCHUTZ SEKTION 9   "
  176.               "          SONDERKOMMANDO 'EDV'          "
  177.  
  178. 7.  The Gadaffi-Virus
  179.     -----------------
  180.     This  one  is  a  mutant  version  of the old Byte Warrior.  It copies
  181.     itself  on  each  disk  and  tries to play a sound with the disk drive
  182.     motor  after  12  resets.  Even though you might find the music funny,
  183.     the  drive  will  be  of a different opinion (this may lead to serious
  184.     hardware failures!).
  185.  
  186. 8.  The Disk-Doctor
  187.     ---------------
  188.     This  one is a brand new one.  It allocates 12 KBytes after each reset
  189.     and  ...   to  be honest, I didn't test what it also does because this
  190.     one  was  very complicated -> before Disk-Doc I had never seen a Task,
  191.     nor  did  I know what you can do with one. I'm lucky enough to be able
  192.     to detect and kill it.
  193.    
  194.     ( After writing memguard i know a lot more about tasks...)
  195.  
  196. 9.  The REVENGE BOOTLOADER
  197.     ----------------------
  198.     This one is just a normal virus with the ASCII text 'REVENGE BOOTLOADER'
  199.     in it. Not a very smart idea.....
  200.     It looks like as if this one has no message in it, he only copies
  201.     himself onto every inserted disk.
  202.     This one is a virus of a new generation, it works with every kickstart
  203.     and with fast-mem. Nevertheless no chance against BERSERKER....
  204.    
  205. 10. SYSTEM Z
  206.     --------
  207.     I wanted to add this one but a programm which asks before it copies
  208.     itself onto disk is not a virus in my eyes.
  209.  
  210. 11. REVENGE
  211.     -------
  212.     This is an old one, which contains at the end in the boot following
  213.     ASCII text:  "REVENGEV1.2 COUNT:"
  214.     I had to implement this one because BERSERKER III crashed when REVENGE
  215.     was in memory.
  216.  
  217. 12. TIMEBOMB
  218.     --------
  219.     ARGHHHH!! This one is NOT in memory. TIMEBOMB only tries to copy itself
  220.     to the disk in DF1:. The next time you boot the other disk from DF1:
  221.     TIMEBOMB fills the whole root track with stuff from loacation $20000.
  222.     After killing that disk it displays an alert with it's stupid message.
  223.     BERSERKER cannot find and kill this one coz it's not in memory. Sorry!!
  224.     Special thanks for this virus must go to DATA BECKER. The asshole who
  225.     wrote the virus took all routines out of AMIGA INTERN I.  
  226.  
  227. 13. XENO
  228.     ----
  229.     I can tell you nothing about this one, because i never got one..
  230.     Therefore i had to take the routine from STEVE TIBBET, the only
  231.     reason i did it are my friends. Some of them have a harddisk and
  232.     S.T. says that the Xeno spreads like wildfire and infects even
  233.     hard-disk. They were so frightened that, (AAARRGH!! it is very
  234.     hard to speak out) i took the routine from VIRUSX4.0.
  235.  
  236.                           BERSERKER VERSUS VIRUSX
  237.                           =======================
  238.  
  239. Don't  be  afraid  of  the small number of viruses Berserker seems to know!
  240. Okay,  on  first  sight  you  might  think  that Berserker only finds eight
  241. viruses  while  VirusX  3.20  recognizes  sixteen  and  because of this big
  242. difference you will still use VirusX.  BUT:  I improved my routines to such
  243. a  level  that they do MORE THAN IT LOOKS LIKE.  The SCA search routine for
  244. example  just  looks  after  the  cold-capture  vector  and then checks the
  245. program  for  a  DoIO.   With this method Berserker is able to find ALL SCA
  246. mutants, because they all work the same way.
  247.     Berserker  never  checks just for a checksum, it always looks after
  248. the  employed  pointers  and  only  cares  if  these  pointers are changed.
  249. Therefore  Berserker  is  able to find a virus even though a stupid guy may
  250. have  changed  the  text.   In  my  opinion  this is the best way to detect
  251. viruses.
  252.     And  to  tell  you  the truth:  although I'm always hunting for new
  253. viruses did I never get an Obelisk or a Pentagon Circle on one of my disks.
  254. I  only  had  to  fight  with  those  I have implemented in my viruskiller.
  255. Berserker  IV  should  be no rival for the very good (and very long...  HA
  256. HA)  VirusX  by  Steve  Tibbet  (good  work!) (Olsen:  VirusX is one of the
  257. programs  with  the sloppiest coding style which is only beaten by PopInfo,
  258. therefore  it  does NOT work with Kick1.3 and doesn't even try to run under
  259. Kick1.4  alpha 15 -> Berserker is better!  :-> ).  The design is completely
  260. different. (Ralf: I think things have changed a little bit with Virusx4.0)
  261.  
  262. If you have to fight with the new link viruses i would recommend that you
  263. use 'KV' by Steve Tibbet. Because i didn't get a new one, i wasn't able
  264. to add the killing part for these bastards. Especially when BERSERKER
  265. tells you that you have a XENO in memory.
  266.  
  267. Nevertheless BERSERKER is still better than most of the other viruskillers.
  268. It is very stupid just to check for a  checksum, what happens if an asshole
  269. changes ONE letter ??
  270.  
  271.                             ADDITIONAL REMARKS
  272.                             ==================
  273.  
  274.                            Special thanks go to:
  275.  
  276.                        Olaf B. for testing and ideas
  277.                  Michael V. for utis, viruses and testing
  278.            Henning L. for being one of the BEST assembler freaks
  279.                 Thorsten H. for also being one of the BEST
  280.              Gunnar L. for being a friend and good programmer
  281.  
  282. Olsen:  Berserker was written using the well known Kuma Seka Assembler.  As
  283. an  American  user you might have never heard or seen anything of it.  Kuma
  284. did it the British way:  Seka does neither generate ALink compatible linker
  285. object  files,  nor  does  it  apply  to  the  de facto Metacomco MASM (see
  286. Developers'  toolkit) standard.  For this reason your CAPE, MASM, ASM or AS
  287. will  probably refuse to re-assemble the source code.  Calls like "MOVE 4.W
  288. A6"  will  have to be replaced by something like "MOVE 4,A6".  Don't wonder
  289. if  the  executable progam becomes longer than the supplied Berserker file:
  290. it  has  been  compressed  using  a  brilliant  object  file  packer called
  291. "Powerpacker".  Berserker is NOT a virus, this IS a guarantee.
  292.  
  293. Ralf: I love my SEKA and i use calls like 'MOVE 4.w,a6' for speed, you C-FREAK!
  294.  
  295.                    P.a.V. (Programmers against Viruses)
  296.  
  297.  
  298.               MY BEST REGARDS GO TO STEVE TIBBET & FRED FISH!
  299.               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  300.